package cn.fl.project.transform;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.base.lnkcomp.transform.BasePrjLnkCompApplyVOTransform;
import cn.fl.project.vo.PrjLnkCompApplyVO;
import fl.spl.facade.lnkcomp.dto.PrjLnkCompApplyDTO;

import java.util.ArrayList;
import java.util.List;

/**
 * @Description: 挂靠公司变更申请表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据
 * @Description: VO转换数据变成DTO传递到服务端
 * @Description: VO不能在服务端出现
 */
public class PrjLnkCompApplyVOTransform extends BasePrjLnkCompApplyVOTransform {


    /**
     * DTO 转  VO
     *
     * @param dto PrjLnkCompApplyDTO
     * @return PrjLnkCompApplyVO
     */
    public static PrjLnkCompApplyVO toVO(PrjLnkCompApplyDTO dto) {
        PrjLnkCompApplyVO vo = baseToVO(dto);
        vo.setFlowTyp(dto.getFlowTyp());
        vo.setFlowStatus(dto.getFlowStatus());
        return vo;
    }

    /**
     * VO 转 DTO
     *
     * @param vo PrjLnkCompApplyVO
     * @return PrjLnkCompApplyDTO
     */
    public static PrjLnkCompApplyDTO toDTO(PrjLnkCompApplyVO vo) {
        PrjLnkCompApplyDTO dto = baseToDTO(vo);
        dto.setFlowTyp(vo.getFlowTyp());
        dto.setFlowStatus(vo.getFlowStatus());
        return dto;
    }

    /**
     * DTO集合 转 VO集合
     *
     * @param list List<PrjLnkCompApplyDTO>
     * @return List<PrjLnkCompApplyVO>
     */
    public static List<PrjLnkCompApplyVO> toVOList(List<PrjLnkCompApplyDTO> list) {
        List<PrjLnkCompApplyVO> voList = new ArrayList<PrjLnkCompApplyVO>();
        if (CollectionUtils.isNotEmpty(list)) {
            for (PrjLnkCompApplyDTO dto : list) {
                voList.add(toVO(dto));
            }
        }
        return voList;
    }

    /**
     * VO集合 转 DTO集合
     *
     * @param list List<PrjLnkCompApplyVO>
     * @return List<PrjLnkCompApplyDTO>
     */
    public static List<PrjLnkCompApplyDTO> toDTOList(List<PrjLnkCompApplyVO> list) {
        List<PrjLnkCompApplyDTO> dtoList = new ArrayList<PrjLnkCompApplyDTO>();
        if (CollectionUtils.isNotEmpty(list)) {
            for (PrjLnkCompApplyVO vo : list) {
                dtoList.add(toDTO(vo));
            }
        }
        return dtoList;
    }
}